home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Graphics Programming (2nd Edition)
/
Visual Basic Graphics Programming 2nd Edition.iso
/
Src
/
Ch1
/
Auto.frm
(
.txt
)
next >
Wrap
Visual Basic Form
|
1999-03-18
|
3KB
|
92 lines
VERSION 5.00
Begin VB.Form frmAuto
Caption = "Auto"
ClientHeight = 4365
ClientLeft = 1140
ClientTop = 1515
ClientWidth = 7095
LinkTopic = "Form1"
PaletteMode = 1 'UseZOrder
ScaleHeight = 4365
ScaleWidth = 7095
Begin VB.PictureBox PaintPict
Height = 4095
Left = 3600
ScaleHeight = 269
ScaleMode = 3 'Pixel
ScaleWidth = 229
TabIndex = 1
Top = 240
Width = 3495
End
Begin VB.PictureBox AutoPict
AutoRedraw = -1 'True
Height = 4095
Left = 0
ScaleHeight = 269
ScaleMode = 3 'Pixel
ScaleWidth = 229
TabIndex = 0
Top = 240
Width = 3495
End
Begin VB.Label Label1
Alignment = 2 'Center
Caption = "Paint Events"
Height = 255
Index = 1
Left = 3600
TabIndex = 3
Top = 0
Width = 3495
End
Begin VB.Label Label1
Alignment = 2 'Center
Caption = "AutoRedraw"
Height = 255
Index = 0
Left = 0
TabIndex = 2
Top = 0
Width = 3495
End
Attribute VB_Name = "frmAuto"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
' Draw squiggly lines.
Private Sub DrawPict(ByVal pic As PictureBox)
Const Amp = 3
Const PI = 3.14159
Const Per = 4 * PI
Dim i As Single
Dim j As Single
Dim hgt As Single
Dim wid As Single
pic.ScaleMode = vbPixels
pic.Cls ' Clear the picture box.
For i = 0 To pic.ScaleHeight Step 4
pic.CurrentX = 0
pic.CurrentY = i
For j = 0 To pic.ScaleWidth
pic.Line -(j, i + Amp * Sin(j / Per))
Next j
Next i
For i = 1 To hgt Step 2
pic.Line (0, i)-(wid, i)
Next i
End Sub
' Draw on the PictureBox with AutoRedraw = True.
Private Sub Form_Load()
DrawPict AutoPict
End Sub
' Draw on the PictureBox with AutoRedraw = False.
Private Sub PaintPict_Paint()
' This makes the other PictureBox refresh
' itself before we start hogging the CPU.
Refresh
DrawPict PaintPict
End Sub